#define _CRT_SECURE_NO_WARNINGS 1

//strlen模拟

//#include<stdio.h>
// #include<assert.h>
//int my_strlen(const char* str)
//{
//	int count = 0;
//	assert(str != NULL);
//	while (*str++ != '\0')
//	{
//		count++;
//	}
//	return count;
//}
//
//int main()
//{
//	char str[] = "abcdef";
//	int ret = my_strlen(str);
//	printf("%d\n", ret);
//	return 0;
//}

//模拟strcpy

//#include<stdio.h>
//#include<assert.h>
//char* my_strcpy(char* dest, const char* inst)
//{
//	assert(dest && inst);
//	char* res = dest;
//	while (*dest++ = *inst++)
//	{
//		;
//	}
//	return res;
//}
//int main()
//{
//	char str[] = "abcdef";
//	char str2[] = "xxxxxxxxxxxxx";
//	strcpy(str2, str);
//	printf("%s\n", str2);
//	return 0;
//}

//模拟实现strcmp
//#include<stdio.h>
//#include<assert.h>
//int my_strcmp(const char* str1, const char* str2)
//{
//	assert(str1 && str2);
//	while (*str1 == *str2)
//	{
//		if (*str1 == '\0')
//		{
//			return 0;
//		}
//		str1++;
//		str2++;
//	}
//	return (*str1 - *str2);
//}
//int main()
//{
//	char str1[] = "abcdef";
//	char str2[] = "abdecf";
//	int ret = my_strcmp(str1, str2);
//	if (ret > 0)
//	{
//		printf(">\n");
//	}
//	else if (ret == 0)
//	{
//		printf("=\n");
//	}
//	else
//		printf("<\n");
//	return 0;
//}

//模拟strcat

//#include<stdio.h>
//#include<assert.h>
//char* my_strcat(char* dest, const char* scr)
//{
//	assert(dest && scr);
//	char* res = dest;
//	while (*dest )
//	{
//		dest++;
//	}
//	while (*dest++ = *scr++)
//	{
//		;
//	}
//	return res;
//}
//
//int main()
//{
//	char str1[20] = "abcde";
//	char str2[] = "fghi";
//	my_strcat(str1, str2);
//	printf("%s\n", str1);
//	return 0;
//}

//模拟strstr

//#include<stdio.h>
//#include<assert.h>
//char* my_strstr(const char* str1, const char* str2)
//{
//	assert(str1 && str2);
//	const char* s1 = str1;
//	const char* s2 = str2;
//	const char* cur = str1;
//	while (*cur)
//	{
//		s1 = cur;
//		s2 = str2;
//		while (*s1 && *s2 && *s1 == *s2)
//		{
//			s1++;
//			s2++;
//			if (*s2 == '\0')
//			{
//				return (char*)cur;
//			}
//		}
//		cur++;
//	}
//	return NULL;
//}
//
//int main()
//{
//	char str1[] = "abbcdesdce";
//	char str2[] = "bcd";
//	char* ret = my_strstr(str1, str2);
//	if (ret == NULL)
//	{
//		printf("没找到子串\n");
//	}
//	else
//	{
//		printf("%s\n", ret);
//	}
//	return 0;
//}